self.onmessage=(event)=>{
    console.log('wroker',event);
    const {port1,message}=event.data;
    let res=0;
    //如果主要线程接受到的是数字，就算他的阶乘
    if(Number.isFinite(parseInt(message)) && parseInt(message) >0){
        res=factoral(message)
    }
    port1.postMessage(`${message}的阶乘是：${res}`)
}


//计算阶乘
function factoral(n){
    let result=1;
    while(n){result*=n--}
    try {
        return BigInt(result).toString()
    } catch (error) {
        return "无穷大"
    }
}